package com.raymond.sgip.msg.request;

import com.raymond.client.constants.GlobalConstants;
import com.raymond.sgip.enums.CommandIdType;
import com.raymond.sgip.msg.AbstractSgipMessage;

/**
 * 短信提交请求
 *
 * @author :  raymond
 * @version :  V1.0
 * @date :  2021-08-05 16:05
 */
public class SubmitRequestMessage extends AbstractSgipMessage {

    private String spNumber = GlobalConstants.EMPTY_STRING;
    private String chargeNumber = GlobalConstants.EMPTY_STRING;
    private short userCount;
    private String[] userNumber = null;
    private String corpId = GlobalConstants.EMPTY_STRING;
    private String serviceType = GlobalConstants.EMPTY_STRING;
    private short feeType = 2;
    private String feeValue = GlobalConstants.EMPTY_STRING;
    private String givenValue = GlobalConstants.EMPTY_STRING;
    private short agentFlag = 0;
    private short morelateToMtFlag = 0;
    private short priority = 0;
    private String expireTime = GlobalConstants.EMPTY_STRING;
    private String scheduleTime = GlobalConstants.EMPTY_STRING;
    private short reportFlag = 1;
    private short tpPid = 0;
    private short tpUdhi = 0;
    private byte messageCoding;
    private short messageType = 0;
    private int messageLength;
    private String msgContent;
    private String reserve = GlobalConstants.EMPTY_STRING;

    public SubmitRequestMessage(int sequenceId) {
        super(sequenceId);
    }

    @Override
    public int getCommandId() {
        return CommandIdType.SUBMIT_REQUEST.getCommandId();
    }


    public String getSpNumber() {
        return spNumber;
    }

    public void setSpNumber(String spNumber) {
        this.spNumber = spNumber;
    }

    public String getChargeNumber() {
        return chargeNumber;
    }

    public void setChargeNumber(String chargeNumber) {
        this.chargeNumber = chargeNumber;
    }

    public short getUserCount() {
        return userCount;
    }

    public void setUserCount(short userCount) {
        this.userCount = userCount;
    }

    public String[] getUserNumber() {
        return userNumber;
    }

    public void setUserNumber(String[] userNumber) {
        this.userNumber = userNumber;
        this.userCount = (short) (userNumber == null ? 0 : userNumber.length);
    }

    public String getCorpId() {
        return corpId;
    }

    public void setCorpId(String corpId) {
        this.corpId = corpId;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    public short getFeeType() {
        return feeType;
    }

    public void setFeeType(short feeType) {
        this.feeType = feeType;
    }

    public String getFeeValue() {
        return feeValue;
    }

    public void setFeeValue(String feeValue) {
        this.feeValue = feeValue;
    }

    public String getGivenValue() {
        return givenValue;
    }

    public void setGivenValue(String givenValue) {
        this.givenValue = givenValue;
    }

    public short getAgentFlag() {
        return agentFlag;
    }

    public void setAgentFlag(short agentFlag) {
        this.agentFlag = agentFlag;
    }

    public short getMorelateToMtFlag() {
        return morelateToMtFlag;
    }

    public void setMorelateToMtFlag(short morelateToMtFlag) {
        this.morelateToMtFlag = morelateToMtFlag;
    }

    public short getPriority() {
        return priority;
    }

    public void setPriority(short priority) {
        this.priority = priority;
    }

    public String getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(String expireTime) {
        this.expireTime = expireTime;
    }

    public String getScheduleTime() {
        return scheduleTime;
    }

    public void setScheduleTime(String scheduleTime) {
        this.scheduleTime = scheduleTime;
    }

    public short getReportFlag() {
        return reportFlag;
    }

    public void setReportFlag(short reportFlag) {
        this.reportFlag = reportFlag;
    }

    public short getTpPid() {
        return tpPid;
    }

    public void setTpPid(short tpPid) {
        this.tpPid = tpPid;
    }

    public short getTpUdhi() {
        return tpUdhi;
    }

    public void setTpUdhi(short tpUdhi) {
        this.tpUdhi = tpUdhi;
    }

    public byte getMessageCoding() {
        return messageCoding;
    }

    public void setMessageCoding(byte messageCoding) {
        this.messageCoding = messageCoding;
    }

    public short getMessageType() {
        return messageType;
    }

    public void setMessageType(short messageType) {
        this.messageType = messageType;
    }

    public int getMessageLength() {
        return messageLength;
    }

    public void setMessageLength(int messageLength) {
        this.messageLength = messageLength;
    }

    public String getMsgContent() {
        return msgContent;
    }

    public void setMsgContent(String msgContent) {
        this.msgContent = msgContent;
    }

    public String getReserve() {
        return reserve;
    }

    public void setReserve(String reserve) {
        this.reserve = reserve;
    }
}
